#Demo8.ps1
#Test d'une hi?rarchie de loggers

function Log{
 $LogMain.Info("Message du logger : Main")
 $LogMainA.Debug("Message du logger : Main.A")
 $LogMainAB.Debug("Message du logger : Main.A.B")
}
 #D?clare la hi?rarchie
$LogMain  = Get-LogLogger "Main"
$LogMainA = Get-LogLogger "Main.A"
$LogMainAB = Get-LogLogger "Main.A.B"
Set-LogBasicConfigurator -default 

 #Tous loggers propagent tous les ?v?nements qu'ils re?oivent
Log

 #Seul le logger Main propage les ?v?nements de log
$LogMainA.Logger.Additivity = $false
Log

 #Seul le logger MainAB ne propage pas les ?v?nements re?us
$LogMainA.Logger.Additivity = $true
$LogMainAB.Logger.Additivity = $false
Log

Add-LogLoggerAppender -L $LogMain  -A (
    New-LogColoredConsoleAppender $LogDefaultColors -Name "ConsoleColoris?"|`
           Add-LogLayout -L "%date %-5level - %message%newline" |`
           Enable-LogAppender
   )           
Log

Get-Loggers|% {$_.Logger.Additivity=$True}
Log

 #Ajoute un appender Eventlog au logger LogMainAB
 #Chaque logger poss?de un appender d?di?
Add-LogLoggerAppender -L $LogMainAB  -A (
    New-LogEventLogAppender -Name "EventLogWindows" -EventLogName "MonScript-PowerShell"|`
           Add-LogLayout -L "%date{dd-MM-yyyy } %-5level [%x] - %message%newline" |`
           Enable-LogAppender
   )           

Log
# Suite dans Demo8-1.ps1

